package com.example.design.函数式编程.f高阶函数;

import java.util.stream.Stream;

public class ConcatSplitDemo {
    public static void main(String[] args) {
        Stream<Integer> integerStream = Stream.of(1, 2);
        Stream<Integer> integerStream2 = Stream.of(5, 8,1);

        /**
         * 合并
         */
        Stream<Integer> concat = Stream.concat(integerStream, integerStream2);
//        concat.forEach(System.out::println);

        /**
         * 截取
         * skip 跳过n个数据，保留剩下的
         * limit 保留n个数据，剩下的不要
         * takeWhile(Predicate e) 条件成立保留，一旦条件不成立，剩下的不要
         * dropWhile(Predicate e) 条件成立舍弃，一旦条件不成立，剩下的保留
         */
//        concat.skip(2).forEach(System.out::println);
//        concat.skip(2).limit(1).forEach(System.out::println);

//        concat.takeWhile(item -> item <3).forEach(System.out::println);
        concat.dropWhile(item -> item <3).forEach(System.out::println);


    }
}
